def demo11():
    '''
    从列表[True,1,0,'x',None,'x',False,2,True]删除索引号为4的元素
    :return:
    '''
    my_list = [True, 1, 0, 'x', None, 'x', False, 2, True]
    # 使用 del 删除索引号为 4 的元素
    del my_list[4]
    print(my_list)


def demo12():
    '''
    删除列表中索引号为奇数（或偶数的元素）
    :return:
    '''
    my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    x = int(input('删除奇数请输入1，删除偶数输入0：'))
    # 使用enumerate获取索引和值，根据索引判断是奇数还是偶数
    my_list = [item for index, item in enumerate(my_list) if index % 2 == x]
    print(my_list)


def demo13():
    '''
    清空列表中所有元素
    :return:
    '''
    my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    my_list.clear()
    print(my_list)


def demo14():
    '''
    对列表[3,0,8,5,7]分别做升序和降序
    :return:
    '''
    my_list = [3, 0, 8, 5, 7]
    # 错误示范，无返回值，故为None
    # print(my_list.sort())
    # print(my_list.sort(reverse=True))
    my_list.sort()
    print(my_list)
    my_list.sort(reverse=True)
    print(my_list)


def demo15():
    '''
    对列表[3,0,8,5,7]中大于5的元素置为1，其他为0
    :return:
    '''
    my_list = [3, 0, 8, 5, 7]
    num = 0
    while num < len(my_list):
        if my_list[num] >5:
            my_list[num] = 1
        else:
            my_list[num] = 0
        num += 1
    print(my_list)


def demo16():
    '''
    遍历列表['x','y','z']，打印每一个元素机器对应索引号
    :return:
    '''
    my_list = ['x','y','z']
    for index,item in enumerate(my_list):
        print(f'索引号{index}，元素{item}')


def demo17():
    '''
    将列表[0,1,2,3,4,5,6,7,8,9]拆分成奇数组和偶数组
    :return:
    '''
    my_list = [0,1,2,3,4,5,6,7,8,9]
    new1_list = [item for item in my_list if item % 2 == 0]
    new2_list = [item for item in my_list if item % 2 == 1]
    print(new1_list)
    print(new2_list)


def demo18():
    '''
    分别根据每一行的首元素和尾元素大小对二维列表[[6,5],[3,7],[2,8]]排序，相当于按6,3,2进行排序，除非第一个元素相等，按第二个元素排序
    :return:
    '''
    my_list = [[6,5],[3,7],[2,8]]
    # 使用 sorted() 方法进行排序，先按首元素排序，如果首元素相等，再按尾元素排序
    sorted_list = sorted(my_list, key=lambda x: (x[0], x[1]))

    print(sorted_list)


def demo19():
    '''
    从[1,4,7,2,5,8]索引为3的位置开始，依次插入['x','y','z']所有元素
    :return:
    '''
    my_list = [1,4,7,2,5,8]
    new_list = ['x','y','z']
    my_list[3:3] = new_list
    print(my_list)


def demo20():
    '''
    快速生成[5,50)的整数组成的列表
    :return:
    '''
    my_list = [i for i in range(5,50)]
    print(my_list)



if __name__ == '__main__':
    # demo11()
    # demo12()
    # demo13()
    # demo14()
    # demo15()
    # demo16()
    # demo17()
    # demo18()
    # demo19()
    demo20()